function addScriptTag (src) {
  const script = document.createElement('script')
  script.setAttribute('type', 'text/javascript')
  script.src = src
  document.body.appendChild(script)
}
// sm3 依赖包
addScriptTag('/sm3/sm3-1.0.js')
addScriptTag('/sm3/hex.js')
addScriptTag('/sm3/byteUtil.js')
// sm3加密
const sm3Text = function (text) {
  // 这一步是先将输入数据转成utf-8编码的字节流，然后再转成16进制可见字符
  const dataBy = Hex.utf8StrToBytes(text)

  const sm3 = new SM3Digest()
  sm3.update(dataBy, 0, dataBy.length) // 数据很多的话，可以分多次update
  const sm3Hash = sm3.doFinal() // 得到的数据是个byte数组
  const sm3HashHex = Hex.encode(sm3Hash, 0, sm3Hash.length) // 编码成16进制可见字符

  return sm3HashHex
}
export default sm3Text
